home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / os2 / adaptor.zip / ADAPT.ZIP / adaptor / src / include / callgrap.h < prev    next >
Text File  |  1994-01-03  |  3KB  |  75 lines

  1. # ifndef yyCallGraph
  2. # define yyCallGraph
  3.  
  4. # if defined __STDC__ | defined __cplusplus
  5. # define ARGS(parameters)    parameters
  6. # else
  7. # define ARGS(parameters)    ()
  8. # endif
  9.  
  10.  
  11. # ifndef bool
  12. # define bool char
  13. # endif
  14. # define NoCallGraph (tCallGraph) 0L
  15. # define kCallGraph 1
  16. # define kCallNode 2
  17. # define kCallNodeList 3
  18. # define kCallEdgeList 4
  19.  
  20. typedef unsigned char CallGraph_tKind;
  21. typedef unsigned short CallGraph_tMark;
  22. typedef unsigned short CallGraph_tLabel;
  23. typedef union CallGraph_Node * tCallGraph;
  24. typedef void (* CallGraph_tProcTree) ();
  25. /* line 34 "fortran.call" */
  26.  
  27.  
  28. #include "Tree.h"
  29. #include "Definiti.h"
  30.  
  31. #define tCallNode tCallGraph;
  32.  
  33.  
  34.  
  35. # ifndef CallGraph_NodeHead
  36. # define CallGraph_NodeHead
  37. # endif
  38. typedef struct { CallGraph_tKind yyKind; CallGraph_tMark yyMark; CallGraph_NodeHead } CallGraph_tNodeHead;
  39. typedef struct { CallGraph_tNodeHead yyHead; tCallGraph UserNodes; tCallGraph IntrinsicNodes; tCallGraph ExternalNodes; } yCallGraph;
  40. typedef struct { CallGraph_tNodeHead yyHead; tObject val; int unitkind; tCallGraph calling; tCallGraph called_by; } yCallNode;
  41. typedef struct { CallGraph_tNodeHead yyHead; tCallGraph Elem; tCallGraph Next; } yCallNodeList;
  42. typedef struct { CallGraph_tNodeHead yyHead; tCallGraph Node; int count; tCallGraph Next; } yCallEdgeList;
  43.  
  44. union CallGraph_Node {
  45.  CallGraph_tKind Kind;
  46.  CallGraph_tNodeHead yyHead;
  47.  yCallGraph CallGraph;
  48.  yCallNode CallNode;
  49.  yCallNodeList CallNodeList;
  50.  yCallEdgeList CallEdgeList;
  51. };
  52.  
  53. extern tCallGraph CallGraphRoot;
  54. extern unsigned long CallGraph_HeapUsed;
  55. extern char * CallGraph_PoolFreePtr, * CallGraph_PoolMaxPtr;
  56. extern unsigned short CallGraph_NodeSize [4 + 1];
  57. extern char * CallGraph_NodeName [4 + 1];
  58.  
  59. extern tCallGraph CallGraph_Alloc ();
  60. extern tCallGraph MakeCallGraph ARGS((CallGraph_tKind yyKind));
  61. extern bool CallGraph_IsType ARGS((register tCallGraph yyt, register CallGraph_tKind yyKind));
  62.  
  63. extern tCallGraph mCallGraph ARGS((tCallGraph pUserNodes, tCallGraph pIntrinsicNodes, tCallGraph pExternalNodes));
  64. extern tCallGraph mCallNode ARGS((tObject pval, int punitkind, tCallGraph pcalling, tCallGraph pcalled_by));
  65. extern tCallGraph mCallNodeList ARGS((tCallGraph pElem, tCallGraph pNext));
  66. extern tCallGraph mCallEdgeList ARGS((tCallGraph pNode, int pcount, tCallGraph pNext));
  67.  
  68. extern void WriteCallGraphNode ARGS((FILE * yyyf, tCallGraph yyt));
  69. extern void WriteCallGraph ARGS((FILE * yyyf, tCallGraph yyt));
  70. extern bool CheckCallGraph ARGS((tCallGraph yyt));
  71. extern void BeginCallGraph ();
  72. extern void CloseCallGraph ();
  73.  
  74. # endif
  75.